import router from '../router'

// 路由白名单列表，把路由添加到这个数组，不用登陆也可以访问
const whiteList = ['/home', '/404', '/']

router.beforeEach((to, from, next) => {
	const hasToken = localStorage.getItem("token")
	// 如果存在token，即存在已登陆的令牌
	if (hasToken) {
		// 如果用户存在令牌的情况请求登录页面，就让用户直接跳转到首页，避免存在重复登录的情况
		if (to.path === '/') {
			// 直接跳转到首页，当然取决于你的路由重定向到哪里
			next({
				path: '/home'
			})
		} else {
			// 信息拿到后，用户请求哪就跳转哪
			next()
		}
	} else {
		// 这里是没有令牌的情况,还记得上面的白名单吗，现在起作用了
		// whiteList.indexOf(to.path) !== -1)判断用户请求的路由是否在白名单里
		if (whiteList.indexOf(to.path) !== -1) {
			// 不是-1就证明存在白名单里，不管你有没有令牌，都直接去到白名单路由对应的页面
			next()
		} else {
			// 如果这个页面不在白名单里，直接跳转到登录页面	
			router.push('/')
		}
	}

})